gdk: Unvfuncify generic key functions
authorBenjamin Otte <otte@redhat.com>
Tue, 16 Apr 2013 13:27:15 +0000 (15:27 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 16 Apr 2013 13:30:14 +0000 (15:30 +0200)
This makes Wayland and X11 no longer call into XKB and libX11 for these
functions but use GDK's own copy of these functions, just like the
win32, quartz and broadway backends.

gdk/gdkdisplaymanager.c
gdk/gdkdisplaymanagerprivate.h
gdk/gdkkeys.c
gdk/wayland/gdkdisplaymanager-wayland.c
gdk/x11/gdkdisplaymanager-x11.c
gdk/x11/gdkkeys-x11.c
gdk/x11/gdkprivate-x11.h

index a0afb1c99b657c45563b1f9bfd2f857eca9f119e..7ec407878843c7e53bf9646f3ddb6b1b4b0514fc 100644 (file)
@@ -397,15 +397,6 @@ gdk_display_manager_peek (void)
   return manager;
 }
 
-/* Used for cases where we don't actually want to instantiate a
- * display manager if none exists.  Internal only.
- */
-GdkDisplayManager *
-_gdk_display_manager_get_nocreate (void)
-{
-  return manager;
-}
-
 /**
  * gdk_display_manager_get_default_display:
  * @manager: a #GdkDisplayManager
index a8885a3b5e3acd5ec9d8a5293fbc264599471ac3..0f6d4b23e175940029760c35c543de862d720577 100644 (file)
@@ -44,24 +44,11 @@ struct _GdkDisplayManagerClass
   GdkDisplay * (*open_display)        (GdkDisplayManager *manager,
                                        const gchar       *name);
 
-  /* FIXME the following should really be frontend-only, not vfuncs */
-  guint        (*lookup_keyval)       (GdkDisplayManager *manager,
-                                       const gchar       *name);
-  gchar *      (*get_keyval_name)     (GdkDisplayManager *manager,
-                                       guint              keyval);
-  void         (*keyval_convert_case) (GdkDisplayManager *manager,
-                                       guint              keyval,
-                                       guint             *lower,
-                                       guint             *upper);
-
   /* signals */
   void         (*display_opened)      (GdkDisplayManager *manager,
                                        GdkDisplay        *display);
 };
 
-GdkDisplayManager *
-_gdk_display_manager_get_nocreate (void);
-
 void            _gdk_display_manager_add_display        (GdkDisplayManager      *manager,
                                                          GdkDisplay             *display);
 void            _gdk_display_manager_remove_display     (GdkDisplayManager      *manager,
index 3026cfc7ad1bcb2e2d698096b5fbb15f4e98b06a..a0202ca56d2b8fc08da07b9c9f65559e65eeff70 100644 (file)
@@ -693,16 +693,7 @@ gdk_keymap_get_modifier_mask (GdkKeymap         *keymap,
 gchar *
 gdk_keyval_name (guint keyval)
 {
-  GdkDisplayManagerClass *manager_class;
-  GdkDisplayManager *manager;
-
-  manager = gdk_display_manager_get ();
-  manager_class = GDK_DISPLAY_MANAGER_GET_CLASS (manager);
-
-  if (manager_class->get_keyval_name)
-    return manager_class->get_keyval_name (manager, keyval);
-  else
-    return _gdk_keyval_name (keyval);
+  return _gdk_keyval_name (keyval);
 }
 
 /**
@@ -721,16 +712,7 @@ gdk_keyval_name (guint keyval)
 guint
 gdk_keyval_from_name (const gchar *keyval_name)
 {
-  GdkDisplayManagerClass *manager_class;
-  GdkDisplayManager *manager;
-
-  manager = gdk_display_manager_get ();
-  manager_class = GDK_DISPLAY_MANAGER_GET_CLASS (manager);
-
-  if (manager_class->lookup_keyval)
-    return manager_class->lookup_keyval (manager, keyval_name);
-  else
-    return _gdk_keyval_from_name (keyval_name);
+  return _gdk_keyval_from_name (keyval_name);
 }
 
 /**
@@ -747,21 +729,8 @@ gdk_keyval_convert_case (guint symbol,
                          guint *lower,
                          guint *upper)
 {
-  GdkDisplayManager *manager;
   guint xlower, xupper;
 
-  manager = _gdk_display_manager_get_nocreate ();
-  if (manager)
-    {
-      GdkDisplayManagerClass *manager_class = GDK_DISPLAY_MANAGER_GET_CLASS (manager);
-
-      if (manager_class->keyval_convert_case)
-        {
-          manager_class->keyval_convert_case (manager, symbol, lower, upper);
-          return;
-        }
-    }
-
   xlower = symbol;
   xupper = symbol;
 
index 4b8ded5bc59675c467f83968fe2457f829bf45a3..902ac164b02fb1a2be719c8b111c20c06bff5bb9 100644 (file)
@@ -27,8 +27,6 @@
 #include "gdkwayland.h"
 #include "gdkinternals.h"
 
-#include <xkbcommon/xkbcommon.h>
-
 struct _GdkWaylandDisplayManager
 {
   GdkDisplayManager parent;
@@ -97,40 +95,6 @@ gdk_wayland_display_manager_open_display (GdkDisplayManager *manager,
   return _gdk_wayland_display_open (name);
 }
 
-static guint
-gdk_wayland_display_manager_lookup_keyval (GdkDisplayManager *manager,
-                                          const gchar       *keyval_name)
-{
-  g_return_val_if_fail (keyval_name != NULL, 0);
-
-  return xkb_keysym_from_name (keyval_name, 0);
-}
-
-static gchar *
-gdk_wayland_display_manager_get_keyval_name (GdkDisplayManager *manager,
-                                            guint              keyval)
-{
-  static char buf[128];
-
-  switch (keyval)
-    {
-    case 0:
-      return NULL;
-    case GDK_KEY_Page_Up:
-      return "Page_Up";
-    case GDK_KEY_Page_Down:
-      return "Page_Down";
-    case GDK_KEY_KP_Page_Up:
-      return "KP_Page_Up";
-    case GDK_KEY_KP_Page_Down:
-      return "KP_Page_Down";
-    }
-
-  xkb_keysym_get_name(keyval, buf, sizeof (buf));
-
-  return buf;
-}
-
 static void
 gdk_wayland_display_manager_class_init (GdkWaylandDisplayManagerClass *class)
 {
@@ -140,8 +104,6 @@ gdk_wayland_display_manager_class_init (GdkWaylandDisplayManagerClass *class)
   object_class->finalize = gdk_wayland_display_manager_finalize;
 
   manager_class->open_display = gdk_wayland_display_manager_open_display;
-  manager_class->lookup_keyval = gdk_wayland_display_manager_lookup_keyval;
-  manager_class->get_keyval_name = gdk_wayland_display_manager_get_keyval_name;
 }
 
 static void
index adf3d15c4286baed30f0d295e5de4e1db9195427..52a2c2baa71bb84b5754dc23d22287c1ec3db84b 100644 (file)
@@ -113,7 +113,4 @@ gdk_x11_display_manager_class_init (GdkX11DisplayManagerClass *class)
   object_class->finalize = gdk_x11_display_manager_finalize;
 
   manager_class->open_display = gdk_x11_display_manager_open_display;
-  manager_class->lookup_keyval = _gdk_x11_display_manager_lookup_keyval;
-  manager_class->get_keyval_name = _gdk_x11_display_manager_get_keyval_name;
-  manager_class->keyval_convert_case = _gdk_x11_display_manager_keyval_convert_case;
 }
index 4dba9d406f03f7f7e702e5f3e31b7e4ebb3a99db..631af1f3ae42a665e71fcd0d43a6cf6b7faad0ae 100644 (file)
@@ -1382,63 +1382,6 @@ gdk_x11_keymap_translate_keyboard_state (GdkKeymap       *keymap,
   return tmp_keyval != NoSymbol;
 }
 
-/* Key handling not part of the keymap */
-gchar*
-_gdk_x11_display_manager_get_keyval_name (GdkDisplayManager *manager,
-                                          guint              keyval)
-{
-  switch (keyval)
-    {
-    case GDK_KEY_Page_Up:
-      return "Page_Up";
-    case GDK_KEY_Page_Down:
-      return "Page_Down";
-    case GDK_KEY_KP_Page_Up:
-      return "KP_Page_Up";
-    case GDK_KEY_KP_Page_Down:
-      return "KP_Page_Down";
-    }
-
-  return XKeysymToString (keyval);
-}
-
-guint
-_gdk_x11_display_manager_lookup_keyval (GdkDisplayManager *manager,
-                                        const gchar       *keyval_name)
-{
-  g_return_val_if_fail (keyval_name != NULL, 0);
-
-  return XStringToKeysym (keyval_name);
-}
-
-void
-_gdk_x11_display_manager_keyval_convert_case (GdkDisplayManager *manager,
-                                              guint              symbol,
-                                              guint             *lower,
-                                              guint             *upper)
-{
-  KeySym xlower = 0;
-  KeySym xupper = 0;
-
-  /* Check for directly encoded 24-bit UCS characters: */
-  if ((symbol & 0xff000000) == 0x01000000)
-    {
-      if (lower)
-        *lower = gdk_unicode_to_keyval (g_unichar_tolower (symbol & 0x00ffffff));
-      if (upper)
-        *upper = gdk_unicode_to_keyval (g_unichar_toupper (symbol & 0x00ffffff));
-      return;
-    }
-
-  if (symbol)
-    XConvertCase (symbol, &xlower, &xupper);
-
-  if (lower)
-    *lower = xlower;
-  if (upper)
-    *upper = xupper;
-}
-
 /**
  * gdk_x11_keymap_get_group_for_state:
  * @keymap: a #GdkX11Keymap
index cbeb3030ed48589952169afe14fe859b01af974e..defd47e81f729f73d09d30b2a75b896eabc49956 100644 (file)
@@ -252,14 +252,6 @@ GdkAtom _gdk_x11_display_manager_atom_intern   (GdkDisplayManager *manager,
                                                 gboolean           copy_name);
 gchar * _gdk_x11_display_manager_get_atom_name (GdkDisplayManager *manager,
                                                 GdkAtom            atom);
-guint   _gdk_x11_display_manager_lookup_keyval (GdkDisplayManager *manager,
-                                                const gchar       *name);
-gchar * _gdk_x11_display_manager_get_keyval_name (GdkDisplayManager *manager,
-                                                  guint              keyval);
-void    _gdk_x11_display_manager_keyval_convert_case (GdkDisplayManager *manager,
-                                                      guint              symbol,
-                                                      guint             *lower,
-                                                      guint             *upper);
 
 GdkCursor *_gdk_x11_display_get_cursor_for_type     (GdkDisplay    *display,
                                                      GdkCursorType  type);